import log from '@dfeidao/atom-nodejs/logger/log';
import doc_code from '@dfeidao/atom-nodejs/msg/doc-code';

import complex_query from "@dfeidao/atom-nodejs/db/complex-query";
import { systemid } from '../../atom/config';

interface Message { optional_value: string; }

// 表名	basic_data
// 标题	基础数据
// 字段名称	字段标题	字段类型	字段长度	是否为空	是否主键
// _id	id	string	50	ⅹ	√
// productid	产品ID	string	50	√	ⅹ
// value_no	值编号	string	32	√	ⅹ
// value_title	值标题	string	32	√	ⅹ
// value_name	值名称	string	32	√	ⅹ

// 表名	property_optional_values
// 标题	属性可选值
// 字段名称	字段标题	字段类型	字段长度	是否为空	是否主键
// _id	id	string	50	ⅹ	√
// productid	产品ID	string	50	√	ⅹ
// value_no	值编号	string	32	√	ⅹ
// optional_value	可选值	string	32	√	ⅹ
// priority	排序码	int	16	√	ⅹ
// value_description	值描述	string	128	√	ⅹ
// optional_value_no	可选值编号	string	32	√	ⅹ



//查询

export default async function atom(msg: Message, action_id: string, session_id: string) {
	log('Service begin');
	// todo
	const query = complex_query(action_id, session_id, systemid);
	const res = await query
		.add_field('basic_data', 'value_title', 'value_title')
		.add_field('basic_data', 'value_no', 'value_no')
		.add_field('property_optional_values', 'optional_value', 'optional_value')
		.add_field('property_optional_values', 'priority', 'priority')
		.outer_left_join('basic_data', 'property_optional_values', ['value_no', 'value_no'])
		.where_like('property_optional_values', 'optional_value', '%' + msg.optional_value + '%')
		.page(20, 1).exec();


	console.log("差值=》", res);

	log('Service end');
	return res;
}
